package co.com.claro.servicio.io;


import co.com.claro.servicio.od.MenuOd;
import org.apache.log4j.Logger;
import co.com.claro.comun.conexiondao.comundao;
import co.com.claro.servicio.od.UsuarioOd;

import javax.naming.directory.Attributes;
import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;

/**
 * Created by IntelliJ IDEA.
 * User: Manuel Serrano
 * Date: 20/05/2010
 * Time: 02:59:39 PM
 * To change this template use File | Settings | File Templates.
 */
public class LoginIo extends comundao implements Serializable {
    private static final Logger logger = Logger.getLogger(LoginIo.class);

    /** Constructor de la clase
     */
    public LoginIo () {
    }


    public List<UsuarioOd> validarUsuario (String transaccionId, UsuarioOd u) throws Exception {
        final String origen = "loginIo.validarUsuario";
        Connection connection = null;
        CallableStatement statement = null;
        ResultSet result = null;
        List l = new ArrayList();
        long  time = 0;
        List<UsuarioOd> usuarios = null;
        try {

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.inicio.ino")+ LoginIo.class+" | "+origen);

            time = System.currentTimeMillis ();

            UsuarioOd usuario=new UsuarioOd();
            usuarios=new ArrayList<UsuarioOd>();
            if((u.getAfiliado().equalsIgnoreCase("angel.rivas"))&&(u.getClave().equalsIgnoreCase("12345"))){
                usuario.setAfiliado("angel.rivas");
                usuario.setPrimerNombre("Angel");
                usuario.setPrimerApellido("Rivas");
                usuario.setClave("12345");
                usuario.setRol("aplicacion");
                usuario.setDocIdentificacion("1111111");
                usuarios.add(usuario);
            }else
            if((u.getAfiliado().equalsIgnoreCase("mrodriguez"))&&(u.getClave().equalsIgnoreCase("12345"))){
                usuario=new UsuarioOd();
                usuario.setAfiliado("mrodriguez");
                usuario.setPrimerNombre("maria");
                usuario.setPrimerApellido("rodriguez");
                usuario.setClave("12345");
                usuario.setRol("aplicacion");
                usuario.setDocIdentificacion("2222222");
                usuarios.add(usuario);
            }else
            if((u.getAfiliado().equalsIgnoreCase("cmorales"))&&(u.getClave().equalsIgnoreCase("12345"))){
                usuario=new UsuarioOd();
                usuario.setAfiliado("cmorales");
                usuario.setPrimerNombre("carlos");
                usuario.setPrimerApellido("morales");
                usuario.setClave("12345");
                usuario.setRol("novedades");
                usuario.setDocIdentificacion("33333333");
                usuarios.add(usuario);
            }else
            if((u.getAfiliado().equalsIgnoreCase("crojas"))&&(u.getClave().equalsIgnoreCase("12345"))){
                usuario=new UsuarioOd();
                usuario.setAfiliado("crojas");
                usuario.setPrimerNombre("carlos");
                usuario.setPrimerApellido("rojas");
                usuario.setClave("12345");
                usuario.setRol("implementacion");
                usuario.setDocIdentificacion("33333333");
                usuarios.add(usuario);
            }else
            if((u.getAfiliado().equalsIgnoreCase("test"))&&(u.getClave().equalsIgnoreCase("test"))){
                usuario=new UsuarioOd();
                usuario.setAfiliado("test");
                usuario.setPrimerNombre("test");
                usuario.setPrimerApellido("test");
                usuario.setClave("test");
                usuario.setRol("test");
                usuario.setDocIdentificacion("00000000");
                usuarios.add(usuario);
            }else{
                usuarios=null;
            }





            time = System.currentTimeMillis () - time;

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.exitos.ino")+ LoginIo.class+" | "+origen);


        }
        catch (Exception ex) {
            logger.error(ex);
        }
        finally {
//             closeJdbcObjects (connection, statement, result);
        }

        return (usuarios);
    }


    public List<MenuOd> menu (String transaccionId, UsuarioOd u) throws Exception {
        final String origen = "loginIo.validarUsuario";
        Connection connection = null;
        CallableStatement statement = null;
        ResultSet result = null;
        List l = new ArrayList();
        long  time = 0;
        List<MenuOd> menus = null;
        try {

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.inicio.ino")+ LoginIo.class+" | "+origen);

            time = System.currentTimeMillis ();

            if(u.getRol().equalsIgnoreCase("transicion")||u.getRol().equalsIgnoreCase("novedades")) {
                MenuOd menu=new MenuOd();
                menus=new ArrayList<MenuOd>();
                menu.setTabMenu("Inicio");
                menu.setContenido("");
                menu.setJsp("jsp/login/resumen.jsp");
                menu.setId("inicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Clientes");
                menu.setContenido("");
                menu.setJsp("jsp/cliente/Clientes.jsp");
                menu.setId("Clientes");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Agregar Servicio");
                menu.setContenido("");
                menu.setJsp("jsp/catalogo/AgregarServicio.jsp");
                menu.setId("Agregar_Servicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Consultas");
                menu.setContenido("");
                menu.setJsp("jsp/consulta/Consultas.jsp");
                menu.setId("Consultas");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Buscar");
                menu.setContenido("");
                menu.setJsp("jsp/catalogo/AprobarFlujo.jsp");
                menu.setId("Aprobar_Servicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Aplicaciones");
                menu.setContenido("");
                menu.setJsp("jsp/aplicaciones/aplicaciones.jsp");
                menu.setId("aplicacion_consulta");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Infraestructura");
                menu.setContenido("");
                menu.setJsp("jsp/infraestructura/infraestructura.jsp");
                menu.setId("infraestructura_jsp");
                menus.add(menu);
            }else
            if(u.getRol().equalsIgnoreCase("aplicacion")){
                MenuOd menu=new MenuOd();
                menus=new ArrayList<MenuOd>();
                menu.setTabMenu("Inicio");
                menu.setContenido("");
                menu.setJsp("jsp/login/resumen.jsp");
                menu.setId("inicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Clientes");
                menu.setContenido("");
                menu.setJsp("jsp/cliente/Clientes.jsp");
                menu.setId("Clientes");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Agregar Servicio");
                menu.setContenido("");
                menu.setJsp("jsp/catalogo/AgregarServicio.jsp");
                menu.setId("Agregar_Servicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Consultas");
                menu.setContenido("");
                menu.setJsp("jsp/consulta/Consultas.jsp");
                menu.setId("Consultas");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Buscar");
                menu.setContenido("");
                menu.setJsp("jsp/catalogo/AprobarFlujo.jsp");
                menu.setId("Aprobar_Servicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Aplicaciones");
                menu.setContenido("");
                menu.setJsp("jsp/aplicaciones/aplicaciones.jsp");
                menu.setId("aplicacion_consulta");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Infraestructura");
                menu.setContenido("");
                menu.setJsp("jsp/infraestructura/infraestructura.jsp");
                menu.setId("infraestructura_jsp");
                menus.add(menu);
            }else
            if(u.getRol().equalsIgnoreCase("implementacion")){
                MenuOd menu=new MenuOd();
                menus=new ArrayList<MenuOd>();
                menu.setTabMenu("Inicio");
                menu.setContenido("");
                menu.setJsp("jsp/login/resumen.jsp");
                menu.setId("inicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Buscar");
                menu.setContenido("");
                menu.setJsp("jsp/catalogo/AprobarFlujo.jsp");
                menu.setId("Aprobar_Servicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Consultas");
                menu.setContenido("");
                menu.setJsp("jsp/consulta/Consultas.jsp");
                menu.setId("Consultas");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Aplicaciones");
                menu.setContenido("");
                menu.setJsp("jsp/aplicaciones/aplicaciones.jsp");
                menu.setId("aplicacion_consulta");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Infraestructura");
                menu.setContenido("");
                menu.setJsp("jsp/infraestructura/infraestructura.jsp");
                menu.setId("infraestructura_jsp");
                menus.add(menu);
            }
            if(u.getRol().equalsIgnoreCase("test")){
                MenuOd menu=new MenuOd();
                menus=new ArrayList<MenuOd>();
                menu.setTabMenu("Inicio");
                menu.setContenido("");
                menu.setJsp("jsp/login/resumen.jsp");
                menu.setId("inicio");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Test");
                menu.setContenido("");
                menu.setJsp("jsp/test/test.jsp");
                menu.setId("test");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Aplicaciones");
                menu.setContenido("");
                menu.setJsp("jsp/aplicaciones/aplicaciones.jsp");
                menu.setId("aplicacion_consulta");
                menus.add(menu);
                menu=new MenuOd();
                menu.setTabMenu("Infraestructura");
                menu.setContenido("");
                menu.setJsp("jsp/infraestructura/infraestructura.jsp");
                menu.setId("infraestructura_jsp");
                menus.add(menu);

            }




            time = System.currentTimeMillis () - time;

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.exitos.ino")+ LoginIo.class+" | "+origen);


        }
        catch (Exception ex) {
            logger.error(ex);
        }
        finally {
//             closeJdbcObjects (connection, statement, result);
        }

        return (menus);
    }





}




